<template>
  <div class="wrapper">
    <!-- 由于swiper是根据空数组来创建，会导致页面刷新后显示最后一张图片 ，
    添加v-if="list.length"后，当有了数据后，swiper才会创建-->
    <swiper :options="swiperOption" v-if="showSwiper">
      <swiper-slide v-for="item of list" :key="item.id">
        <img class="swiper-img" :src="item.imgUrl" alt />
      </swiper-slide>
      <!-- Optional controls -->
      <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
    <!-- 在引入swiper后，只要按照以上代码格式来写就可以实现轮播效果 -->
  </div>
</template>

<script>
export default {
  name: "HomeSwiper",
  props: {
    list: Array
  },
  data() {
    //当在子组件中定义data时，一定要写为函数的形式
    return {
      swiperOption: {
        //swiperOption是官网里就这样用的
        loop: true,
        pagination: {
          //用于显示分页小圆点
          el: ".swiper-pagination",
          clickable: true
        }
      }
    };
  },
  computed: {
    //逻辑性代码，尽量放在computed里面
    showSwiper() {
      return this.list.length;
    }
  }
};
</script>
<style lang="stylus" scoped>// 确定样式和限制范围
.wrapper >>>.swiper-pagination-bullet-active {
  background: white !important;
}

.wrapper {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 31.25%;
  background: #eee;

  .swiper-img {
    width: 100%;
  }
}
</style>































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































</style>






























</style>